/****************************************************************
 * Fulguro
 * Copyright (C) 2004 Christophe Clienti
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 * Boston, MA 02111-1307, USA.
 ***************************************************************/


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <flgrCoreDispatch.h>
#include "flgrLinearArithFFT.h"


/* void flgr2d_fft_arith_complex_mult_fgBIT(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_BIT); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgUINT8(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_UINT8); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgUINT16(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_UINT16); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgUINT32(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_UINT32); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgINT8(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_INT8); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgINT16(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_INT16); */
/* } */
/* void flgr2d_fft_arith_complex_mult_fgINT32(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   flgr_no_define_type_function(FLGR_INT32); */
/* } */

/* void flgr2d_fft_arith_complex_mult_fgFLOAT32(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   fgFLOAT32 *pz1, *pz2, *pdest; */
/*   int i,size = bufdest->nx*(bufdest->ny); */

/*   pz1 = (fgFLOAT32*) bufz1->array; */
/*   pz2 = (fgFLOAT32*) bufz2->array; */
/*   pdest = (fgFLOAT32*) bufdest->array; */

/*   for(i=0 ; i<2*size ; i+=2) { */
/*     pdest[i]=(pz1[i]*pz2[i] - pz1[i+1]*pz2[i+1]); */
/*     pdest[i+1]=(pz1[i]*pz2[i+1] + pz1[i+1]*pz2[i]); */
/*   } */

/* } */


/* void flgr2d_fft_arith_complex_mult_fgFLOAT64(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   fgFLOAT64 *pz1, *pz2, *pdest; */
/*   int i,size = bufdest->nx*(bufdest->ny); */

/*   pz1 = (fgFLOAT64*) bufz1->array; */
/*   pz2 = (fgFLOAT64*) bufz2->array; */
/*   pdest = (fgFLOAT64*) bufdest->array; */

/*   for(i=0 ; i<2*size ; i+=2) { */
/*     pdest[i]=(pz1[i]*pz2[i] - pz1[i+1]*pz2[i+1]); */
/*     pdest[i+1]=(pz1[i]*pz2[i+1] + pz1[i+1]*pz2[i]); */
/*   } */

/* } */

/* FLGR_Ret flgr2d_fft_arith_complex_mult(FLGR_FFTBuffer *bufdest, FLGR_FFTBuffer *bufz1, FLGR_FFTBuffer *bufz2) { */
/*   if((bufdest==NULL) || (bufz1==NULL) || (bufz2==NULL)){ */
/*     POST_ERROR("Null objects!\n"); */
/*     return FLGR_RET_NULL_OBJECT; */
/*   } */

/*   if(bufdest->type != bufz1->type) { */
/*     POST_ERROR("fft buffers type different\n"); */
/*     return FLGR_RET_TYPE_DIFFERENT; */
/*   } */

/*   if(bufdest->type != bufz2->type) { */
/*     POST_ERROR("fft buffers type different\n"); */
/*     return FLGR_RET_TYPE_DIFFERENT; */
/*   } */

/*   if( (bufdest->nx != bufz1->nx) || (bufdest->ny != bufz1->ny) || */
/*       (bufdest->nx != bufz2->nx) || (bufdest->ny != bufz2->ny)) { */
/*     POST_ERROR("fft buffers size different\n"); */
/*     return FLGR_RET_SIZE_ERROR; */
/*   } */

/*   FLGR_DISPATCH_PROCEDURE(bufdest->type,flgr2d_fft_arith_complex_mult,bufdest,bufz1,bufz2); */

/*   return FLGR_RET_OK; */

/* } */
